#pragma once
#include <d3d11.h>
#include <DirectXMath.h>
#include "Triangle.h"

#define WIDTH 800
#define HEIGHT 600

class Graphics
{
public:
	Graphics(void);
	~Graphics(void);
	void	Init(void);
	void	LoadScene(void);
	void	Render(void);
private:
	Graphics(const Graphics& ToCopy){}
	Graphics&	operator=(const Graphics& toCopy){ return *this; }


private:
	ID3D11Device*			m_Device;
	ID3D11DeviceContext*	m_DeviceContext;
	D3D_FEATURE_LEVEL		m_FeatureLevel;
	ID3D11Texture2D*		m_RenderTexture;
	ID3D11Texture2D*		m_DepthStencil;
	ID3D11RenderTargetView*	m_RenderTargetView;
	ID3D11VertexShader*		m_SimpleVS;
	ID3D11PixelShader*		m_SimplePS;
	ID3D11InputLayout*		m_SimpleVertexIL;
	ID3D11RasterizerState*	m_DefaultRS;
	Triangle				m_Triangle;
	D3D11_VIEWPORT			m_Viewport;
	D3D11_RECT				m_ScissorRect;
};